﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using CapaEntidades;

namespace CapaDatos
{
    public class daProducto
    {
        //public static List<enProducto> spProductoBuscarXPresentacion(String prmPresentacion)
        //{
        //    SqlConnection cn = null;
        //    SqlCommand cmd = null;
        //    SqlDataReader dr = null;
        //    List<enProducto> lstProducto= null;
        //    try
        //    {

        //        cn = Conexion.getConexion();
        //        cmd = new SqlCommand("spProductoBuscarXPresentacion", cn);
        //        cmd.Parameters.AddWithValue("@pro_presentacion", prmPresentacion);
        //        cmd.CommandType = CommandType.StoredProcedure;
        //        cn.Open();
        //        dr = cmd.ExecuteReader();
        //        lstProducto = new List<enProducto>();
        //        while (dr.Read())
        //        {

        //            enProducto producto = new enProducto();
        //            producto.pro_id = Convert.ToInt32(dr[0].ToString());
        //            producto.pro_presentacion = dr[1].ToString();
        //            enUnidadMedida uniMedida = new enUnidadMedida();
        //            uniMedida.uniMed_descripcion = dr[2].ToString();
        //            enLinea linea = new enLinea();
        //            linea.lin_descripcion = dr[3].ToString();
        //            enPrecio precio = new enPrecio();
        //            precio.pre_preVenta = Double.Parse(dr[4].ToString());
        //            enLaboratorio laboratorio = new enLaboratorio();
        //            laboratorio.lab_nombre = dr[5].ToString();
        //            enAlmacen almacen = new enAlmacen();
        //            almacen.alm_nombre = dr[6].ToString();

        //            producto.unidadMedida = uniMedida;
        //            producto.linea = linea;
        //            producto.precio = precio;
        //            producto.laboratorio = laboratorio;
        //            producto.almacen = almacen;

        //            lstProducto.Add(producto);
        //        }
        //    }
        //    catch (Exception)
        //    {
        //        throw;
        //    }
        //    finally
        //    {
        //        dr.Close();
        //        cn.Close();
        //    }
        //    return lstProducto;

        //}

        public static List<enProducto> getPrecioProducto()
        {
            SqlConnection cn = null;
            SqlCommand cmd = null;
            SqlDataReader dr = null;
            List<enProducto> lstProducto = null;
            try
            {
                cn = Conexion.getConexion();
                cmd = new SqlCommand("SELECT pro_id, pro_presentacion, pre_precio FROM LO_producto pr INNER JOIN VE_precio pc ON pr.pro_id = pc.producto_id", cn);
                cmd.CommandType = CommandType.Text;
                cn.Open();
                dr = cmd.ExecuteReader();
                lstProducto = new List<enProducto>();
                while (dr.Read())
                {
                    enProducto producto = new enProducto();
                    producto.idProducto = Convert.ToInt32(dr[0].ToString());
                    producto.presentacion = dr[1].ToString();
                    producto.precio = Convert.ToDouble(dr[2].ToString());
                    lstProducto.Add(producto);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                dr.Close();
                cn.Close();
            }
            return lstProducto;

        }

        
    }
}
